package com.zp.self.module.level_1_问道.I_Java基础.I_7_JDK8新功能.函数式编程;

import org.apache.commons.lang3.RandomStringUtils;
import org.junit.Test;

import java.util.function.Supplier;

//定义供给型接口:没有参数，需要 return返回值。  -- 生成名字接口
//接口描述：生成一个名字
@FunctionalInterface
interface GenerateName {
    String getMeName();
}

public class 供给型接口_测试 {
    //接收一个取名接口实现，并调用 getMeName 打印提供的名字
    private void supplierMethod(Supplier<String> generateName) {
        System.out.println("接收到一个名字：" + generateName.get());
    }

    @Test
    public void tesSupplier() {
        //测试：【匿名内部类】 实现一个随机生成名字的  
        supplierMethod(() -> {
            return RandomStringUtils.randomAlphabetic(5);
        });
    }
}